I just realized while reading about Iterators in Higher-Order Perl (Mark Jason Dominus), that iterators as presented in that chapter will let you have lazy evaluation in Perl 5 (or any other language that supports iterators like those in the Iterators chapter).